前言
从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息。
本次以上篇文章“5分钟掌握智联招聘网站爬取并保存到MongoDB数据库”中爬取的数据为基础,分析关键词为“python”的爬取数据的情况,获取包括全国python招聘数量Top10的城市列表以及其他相关信息。
如果有想学习python的程序员,可来我的python学习扣qun:835017344,免费送python的视频教程噢!我每晚上8点还会在群内直播讲解python知识,欢迎大家前来学习交流。
一、主要分析步骤
- 数据读取
- 数据整理
- 对职位数量在全国主要城市的分布情况进行分析
- 对全国范围内的职位月薪情况进行分析
- 对该职位招聘岗位要求描述进行词云图分析,获取频率最高的关键字
- 选取两个城市,分别分析月薪分布情况以及招聘要求的词云图分析
二、具体分析过程
import pymongo import pandas as pd import matplotlib.pyplot as plt import numpy as np % matplotlib inline plt.style.use('ggplot')
# 解决matplotlib显示中文问题 plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
1 读取数据
client = pymongo.MongoClient('localhost') db = client['zhilian'] table = db['python'] columns = ['zwmc', 'gsmc', 'zwyx', 'gbsj', 'gzdd', 'fkl', 'brief', 'zw_link', '_id', 'save_date'] # url_set = set([records['zw_link'] for records in table.find()]) # print(url_set) df = pd.DataFrame([records for records in table.find()], columns=columns) # columns_update = ['职位名称', # '公司名称', # '职位月薪', # '公布时间', # '工作地点', # '反馈率', # '招聘简介', # '网页链接', # '_id', # '信息保存日期'] # df.columns = columns_update print('总行数为:{}行'.format(df.shape[0])) df.head(2)
结果如图1所示:
2 数据整理
2.1 将str格式的日期变为 datatime
df['save_date'] = pd.to_datetime(df['save_date']) print(df['save_date'].dtype) # df['save_date']
datetime64[ns]
2.2 筛选月薪格式为“XXXX-XXXX”的信息
df_clean = df[['zwmc', 'gsmc', 'zwyx', 'gbsj', 'gzdd', 'fkl', 'brief', 'zw_link', 'save_date']] # 对月薪的数据进行筛选,选取格式为“XXXX-XXXX”的信息,方面后续分析 df_clean = df_clean[df_clean[